package com.zwh.order.controller;

import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    /**
     * @PreAuthorize注解会在方法执行前进行权限验证，支持Spring EL表达式，它是基于方法注解的权限解决方案。
     * hasAuthority：调用UserDetails.getAuthorities()获取权限会进行对比。
     * @ex.hasAuthority: 调用自定义的权限方法，获取spring容器中名字为ex的类的hasAuthority()方法进行权限验证
     */
    @RequestMapping("/hello")
//    @PreAuthorize("hasAuthority('test')")
    @PreAuthorize("@ex.hasAuthority('test')")
    public String hello(){
        return "hello";
    }
}
